草庐IT

C++ STL : Custom sorting one vector based on contents of another

全部标签

【C++】深入浅出STL之vector类

文章篇幅较长,越3万余字,建议电脑端访问文章目录一、前言二、vector的介绍及使用1、vector的介绍2、常用接口细述1)vector类对象的默认成员函数①构造函数②拷贝构造③赋值重载2)vector类对象的访问及遍历操作①operator[]②迭代器【⭐】③范围for3)vector类对象的常见容量操作①size②capacity③empty④reserve⑤resize4)vector类对象的修改操作①push_back②pop_back③insert④erase⑤find三、vector深度剖析及模拟实现【✔】1、源码引入2、模拟实现1)迭代器2)容量💻第一轮测试—空指针异常💻第二轮

C++ STL string类

目录一.为什么学习string类(1)C语言中的字符串(2)标准库里面的string类二.string类的常用接口说明(1)string类对象的常见构造(2)string类对象的容量操作1.size(),length().2.capacity()3.empty() 4.clear() 5.reserve() 6.resize()(3)string类对象的访问及遍历操作 1.operator[pos],at(size_tpos) 2.back(),front()(4)string类的迭代器1.begin(),end()2.rbegin(),rend()3.范围for(5)string类对象的修改

STL 之 list接口的简单使用【C++】

文章目录push_front&&pop_frontpush_back&&pop_backinserterase迭代器begin&&endrbegin和rendfront&&backsizeresizeemptyclearsortspliceuniquemergereverse![在这里插入图片描述](https://img-blog.csdnimg.cn/717807397d8d499d840aae2e3127f467.png将文档翻译提炼得到以下结论list是可以在常数范围内在任意位置进行插入和删除的序列式容器,并且该容器可以前后双向迭代。list的底层是双向链表结构,双向链表中每个元素存储

【C++】STL——set/multiset 和 map/multimap的使用

文章目录1.关联式容器2.树形结构的关联式容器3.set3.1认识set3.1set的使用4.multiset5.map5.1认识map5.2pair5.3map的使用对map中[]的理解6.multimap1.关联式容器在初阶阶段,我们已经接触过STL中的部分容器比如:vector、list、deque、forward_list(C++11)等,这些容器统称为序列式容器,因为其底层为线性序列的数据结构,里面存储的是元素本身。而今天我们要学习的几个容器称为关联式容器,那什么是关联式容器?它与序列式容器有什么区别?关联式容器也是用来存储数据的,与序列式容器不同的是,其里面存储的是结构的键值对,在

c++之STL详解

c++之STL详解泛型编程什么是STLSTL发展STL组件容器类型成员适配器STL迭代器STL算法顺序容器向量vector双端队列双端队列实现列表listc++关联容器c++mapmultimapsetmultiset迭代器函数对象集成函数对象自定义函数对象标准c++库中算法STL算法头文件标准函数泛型算法例子自定函数作为算法参数泛型编程泛型编程是一种编程方法,它允许程序员编写通用的代码,即可适用于不同的数据类型,而不必为每种类型编写不同的代码。这种编程方法的基本思想是将数据类型抽象化,使用泛型来表示数据类型,并在编写代码时使用泛型来代替具体的数据类型。Java、C#等编程语言都支持泛型编程。

C++STL——deque容器详解

纵有疾风起,人生不言弃。本文篇幅较长,如有错误请不吝赐教,感谢支持。💬文章目录一.deque容器的基本概念二.deque容器常用操作①deque构造函数②deque元素操作③deque赋值操作④deque交换操作⑤deque大小操作⑥deque插入和删除一.deque容器的基本概念vector容器是单向开口的连续内存空间,deque(['dek])则是一种双向开口的连续线性空间。所谓的双向开口,意思是可以在头尾两端分别做元素的插入和删除操作,可以理解为数据结构的双端队列。当然,vector容器也可以在头尾两端插入元素,但是在其头部操作效率奇差,全部元素都要后移,无法被接受。✅deque容器和v

C++STL——list容器及其常用操作(详解)

纵有疾风起,人生不言弃。本文篇幅较长,如有错误请不吝赐教,感谢支持。💬文章目录一.list容器基本概念二.list容器的常用操作list构造函数list迭代器获取list特性操作list元素操作list赋值操作list的交换、反转、排序、归并操作list比较操作list插入和删除操作一.list容器基本概念链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。每个结点包括两个部分:一个是存储数据元素的数据域。另一个是存储下一个结点地址的指针域。list容器的数据结构是一个

常用c++ STL 汇总

常用STL:vector变长数组,倍增的思想初始化://初始化vectora;vectora(n);vectora[n];vectora(n,0);//长度为n,值为0操作:size()//返回元素个数empty()//返回是否为空clear()//清空front()/back()//返回第一个/最后一个元素push_back()/pop_back()//在尾端插入元素/删除元素begin()/end()//迭代器[]//随机访问遍历:for(inti=0;i::iterator/*auto*/i=a.begin();i!=a.end();++i)for(autox:a)黑科技:支持比较运算,

STL 关于vector的细节,vector模拟实现【C++】

文章目录vector成员变量默认成员函数构造函数拷贝构造赋值运算符重载函数析构函数迭代器beginendsize和capacityresizereserve[]push_backpop_backinserteraseswapvector成员变量_start指向容器的头,_finish指向容器当中有效数据的下一个位置,_endofstorage指向整个容器的尾默认成员函数构造函数 //构造函数 vector() :_start(nullptr) ,_finish(nullptr) ,_endofstorage(nullptr) {}拷贝构造先开辟一块与该容器大小相同的空间,然后